package com.briup.day07;

/**
 *
 * @author lining
 * @date 2024/1/16 16:05
 */
public class TestTeacher {
    public static void main(String[] args) {
        /*
            1.进行Teacher类和TestTeacher类加载：
              类的信息存放方法区（内存空间）
            2.为类中静态属性赋值（默认值） 执行静态代码块
            (---------------创建对象前------------)
            3.创建main栈空间保存局部变量s
            4.创建堆空间保存新建的teacher对象
            5.对对象中非静态属性进行赋值操作（id=0 name=null）
            6.对非静态属性进行显式赋值
            7.执行非静态代码块（位置顺序）
            8.执行无参构造器
            9.将对象的地址值赋值给局部变量t
         */
        System.out.println(Teacher.school);
        Teacher t = new Teacher();
        System.out.println(t.getId());//0

        /*
            加载顺序：
            1.先静态 后非静态
            2.先代码块 后构造器
            3.先默认赋值后显式赋值
            4.属性显示赋值和代码块顺序由位置决定

            非静态代码块    构造器

         */
    }
}
